import java.util.Arrays;
import java.util.Scanner;

    //求数组的平均值
//    public static double avg(int[] array) {
//        double sum = 0;
//        for (int i = 0; i < array.length; i++){
//            sum += array[i];
//        }
//        return sum / array.length;
//    }
//    public static void main(String[] args) {
//        int[] array = {1, 2, 3, 4, 5};
//        System.out.println(avg(array));
//    }

    //求数组中所有元素之和
//    public static int sum(int[] array) {
//        int sum  = 0;
//        for (int i = 0; i < array.length; i++){
//            sum += array[i];
//        }
//        return sum;
//    }
//    public static void main(String[] args) {
//        int[] array = {1, 2, 3, 4, 5, 6};
//        System.out.println(sum(array));
//    }

    //改变原有数组中元素的值
//    public static void transform(int[] array) {
//        for (int i = 0; i < array.length; i++) {
//            array[i] *= 2;
//        }
//    }
//    public static void main(String[] args) {
//        int[] array = {1, 2, 3, 4};
//        transform(array);
//        System.out.println(Arrays.toString(array));
//    }

    //打印数组
//    public static void printArray(int[] array) {
//        for (int i = 0; i < array.length; i++){
//            System.out.print(array[i] + " ");
//        }
//    }
//    public static void main(String[] args) {
//        int[] array = {0, 1, 2, 3, 4};
//        printArray(array);
//    }

    //创建一个 int 类型的数组, 元素个数为 100, 并把每个元素依次设置为 1 - 100
//    public static void main(String[] args) {
//        int[] array = new int[100];
//        for (int i = 0; i <= 99; i++){
//            array[i] += i + 1;
//        }
//        System.out.println(Arrays.toString(array));
//    }

    //冒泡排序
//    public static void bubble(int[] array) {
//        int flag = 1;
//        for (int j = array.length - 1; j > 0; j--) {
//            for (int i = 0; i < array.length - 1; i++) {
//                if (array[i] > array[i + 1]) {
//                    int tmp = array[i + 1];
//                    array[i + 1] = array[i];
//                    array[i] = tmp;
//                    flag = 0;
//                }
//            }
//            if (flag == 1){
//                break;
//            }
//        }
//    }
//    public static void main(String[] args) {
//        int[] array = {3, 5, 6, 8, 1, 4, 2, 9, 7, 0};
//        bubble(array);
//        System.out.println(Arrays.toString(array));
//    }

    //判定数组是否有序
//    public static int func(int[] array) {
//        int flag = 1;
//        for (int i = 0; i < array.length - 1; i++){
//            if (array[i] > array[i + 1]){
//                flag = 2;
//            }
//        }
//        if (flag == 2){
//            return 2;
//        }
//        else {
//            return 1;
//        }
//    }
//    public static void main(String[] args) {
//        int[] array  = {0, 1, 2, 8, 4, 5};
//        if (func(array) == 2){
//            System.out.println("无序数组");
//        }
//        else {
//            System.out.println("有序数组");
//        }
//    }

    //二分查找
//    public static void main(String[] args) {
//        int[] array = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
//        Scanner scanner = new Scanner(System.in);
//        int key = scanner.nextInt();
//        int left = 0;
//        int right = array.length - 1;
//        int mid = (right - left) / 2;
//        while (left <= right) {
//            if (array[mid] > key) {
//                right = mid - 1;
//                mid = left + (right - left) / 2;
//            }
//            else if (array[mid] < key){
//                left = mid + 1;
//                mid = left + (right - left) / 2;
//            }
//            else {
//                System.out.println("找到了，下标是" + mid);
//                break;
//            }
//        }
//        if (left > right){
//            System.out.println("找不到了");
//        }
//    }

    //数组的拷贝（copy of）
//    public static int[] copyOf(int[] array) {
//        int[] copy = new int[array.length];
//        for (int i = 0; i < array.length; i++){
//            copy[i] = array[i];
//        }
//        return copy;
//    }
//    public static void main(String[] args) {
//        int[] array = {0, 1, 2, 3, 4};
//        System.out.println(Arrays.toString(array));
//        System.out.println(Arrays.toString((copyOf(array))));
//    }

    //数组转字符串
//    public static String mtoString(int[] array) {
//        String ret = "[";
//        for (int i = 0; i < array.length; i++){
//            ret += array[i];
//            if (i != array.length - 1){
//                ret += ",";
//            }
//        }
//        return ret += "]";
//    }
//    public static void main(String[] args) {
//        int[] array = {0, 1, 2, 3, 4, 5, 6};
//        System.out.println(mtoString(array));
//    }

    //定义一个类
//    class Person {
//        public String name = "张三";
//        public int age = 23;
//        public double high = 170;
//        public static int count;//静态属性变量
//        public void show(){
//            System.out.println("我的名字是" + name + "我今年" + age + "岁");
//        }
//        public static void change(){//静态方法
//             count = 10;
//        }
//    }
//    public class Main {
//    public static void main(String[] args) {
//        Person.change();//无需实例化即可调用
//        System.out.println(Person.count);
//        Person person1 = new Person();//实例化对象
//        person1.show();
//        person1.count++;
//        System.out.println(person1.count);
//        System.out.println(person1.age);
//        Person person2 = new Person();//再实例化对象
//        person2.count++;
//        System.out.println(person2.count);
//        System.out.println(person2.age);
//    }
//}

//封装的使用
//class Person{
//    public String name;
//    private int age;
//    public double high;
//    public void  setAge(int age){
//        this.age = age;
//    }
//    public int getAge(){
//        return age;
//    }
//}
//public class Main {
//    public static void main(String[] args) {
//        Person person = new Person();
//        person.name = "张三";
//        person.high = 173.2;
//        person.setAge(12);
//        System.out.println(person.name);
//        System.out.println(person.getAge());
//    }
//}

//构造方法
//class Person{
//   public String name;
//   private int age;
//    public double high;
//    public Person(){//未赋值的构造方法
//        this ("小南", 5, 112.5);
//    }
//    public Person(String name, int age, double high){//赋值的构造方法
//        this.name = name;
//        this.age = age;
//        this.high = high;
//    }
//    public void show(){
//        System.out.println(name + age + high);
//    }
//}
//public class Main {
//    public static void main(String[] args) {
//        Person person1 = new Person();
//        person1.show();
//        Person person2 = new Person("xiaoyu", 8, 135.5);
//        person2.show();
//    }
//}

//代码块
//class Person {
//    private String name;
//    private int age;
//    private double high;
//    private static int count;
//    //构造函数
//    public Person(){
//        System.out.println("cc");
//    }
//    //实例代码块
//    {
//        this.name = "小李";
//        this.age = 25;
//        this.high = 175.5;
//        System.out.println("aa");
//    }
//    //静态代码块
//    static {
//        count = 20;
//        System.out.println("bb");
//    }
//    public void show(){
//        System.out.println(name + " " + age + " " + high);
//    }
//}
//public class Main {
//    public static void main(String[] args) {
//        Person person = new Person();
//        person.show();
//    }
//}

//匿名对象
class Person {
    private String name;
    private int age;
    private double high;
   public Person(String name, int age, double high){
       this.name = name;
       this.age = age;
       this.high = high;
   }
    public void show(){
        System.out.println(name + " " + age + " " + high);
    }
}
public class Main {
    public static void main(String[] args) {
        new Person("小李", 25, 173.5).show();
    }
}
























